home *** CD-ROM | disk | FTP | other *** search
/ Aminet 52 / Aminet 52 (2002)(GTI - Schatztruhe)[!][Dec 2002].iso / Aminet / dev / misc / fd2pragma.lha / fd2pragma / usefd2pragma < prev    next >
Text File  |  2002-10-27  |  28KB  |  1,033 lines

  1. ; $VER: usefd2pragma 1.8 (28.07.2001) (Freeware) by Dirk Stöcker <stoecker@epost.de>
  2. ; ToDo: Lots of options need to be disabled for types >10
  3. ; MorphOS stuff, CLIB, SFD, FD targets (>= 130) missing
  4.  
  5. Delete >NIL: ENV:UseFD#?
  6.  
  7. SetEnv UseFDOnCOMMENT       " A"
  8. SetEnv UseFDOnEXTERNC       " B"
  9. SetEnv UseFDOnFPUONLY       " C"
  10. SetEnv UseFDOnNEWSYNTAX     " D"
  11. SetEnv UseFDOnNOFPU         " E"
  12. SetEnv UseFDOnNOPPC         " F"
  13. SetEnv UseFDOnNOPPCREGNAME  " G"
  14. SetEnv UseFDOnNOSYMBOL      " H"
  15. SetEnv UseFDOnONLYCNAMES    " I"
  16. SetEnv UseFDOnOPT040        " J"
  17. SetEnv UseFDOnPPCONLY       " K"
  18. SetEnv UseFDOnPRIVATE       " L"
  19. SetEnv UseFDOnSECTION       " M"
  20. SetEnv UseFDOnSMALLCODE     " N"
  21. SetEnv UseFDOnSMALLDATA     " O"
  22. SetEnv UseFDOnSORTED        " P"
  23. SetEnv UseFDOnSYSTEMRELEASE " Q"
  24. SetEnv UseFDOnUSESYSCALL    " R"
  25. SetEnv UseFDOnVOIDBASE      " S"
  26.  
  27. RequestChoice "Select the language you want to make files for"  "NOTE: This script may take several seconds from one to next step!*n*n1: C (pragmas, protos, stubs, linker libs)*n2: Pascal (stubs, linker libs, units)*n3: Assembler (lvo files)*n4: PPC Assembler (lvo files)*n5: Basic (BMAP files)*n6: E (Module)*n7: FD/SFD/Clib files*n*n8: FD files (from Pragma)" 1 2 3 4 5 6 7 8 >ENV:UseFDA1
  28.  
  29. IF $UseFDA1 EQ 0        ;**** FD file ****
  30.   RequestFile TITLE "Select the pragma input file" >ENV:UseFDInFile
  31.   RequestFile DRAWERSONLY TITLE "Select the output drawer" >ENV:UseFDOutDrawer
  32.   Echo "Executing following command:"
  33.   Echo "fd2pragma SPECIAL 200 INFILE" $UseFDInFile "TO" $UseFDOutDrawer
  34.   fd2pragma SPECIAL 200 INFILE $UseFDInFile TO $UseFDOutDrawer
  35.   Skip CleanUp
  36. EndIF
  37.  
  38. IF $UseFDA1 EQ 1        ;**** C ****
  39.   RequestChoice "Select the file type" "1: pragma files*n2: stubs, link library*n3: local libbase stubs*n4: protos*n5: GCC stuff*n6: PPC stuff (GCC, SAS-C, proto)*n7: VBCC stuff (68K, WOS, PPC, MorphOS)*n8: multifile assembler stubs" 1 2 3 4 5 6 7 8 >ENV:UseFDA2
  40.  
  41.   IF $UseFDA2 EQ 1
  42.     RequestChoice "Select the pragma type" "1: Aztec*n2: DICE*n3: SAS*n4: MAXON*n5: STORM*n6: all [default]*n7: all + GCC redirect" 1 2 3 4 5 6 7 >ENV:UseFDA3
  43.     IF $UseFDA3 EQ 1
  44.       SetEnv UseFDSPECIAL 1
  45.     EndIF
  46.     IF $UseFDA3 EQ 2
  47.       SetEnv UseFDSPECIAL 2
  48.     EndIF
  49.     IF $UseFDA3 EQ 3
  50.       SetEnv UseFDSPECIAL 3
  51.     EndIF
  52.     IF $UseFDA3 EQ 4
  53.       SetEnv UseFDSPECIAL 4
  54.     EndIF
  55.     IF $UseFDA3 EQ 5
  56.       SetEnv UseFDSPECIAL 5
  57.     EndIF
  58.     IF $UseFDA3 EQ 6
  59.       SetEnv UseFDSPECIAL 6
  60.     EndIF
  61.     IF $UseFDA3 EQ 0
  62.       SetEnv UseFDSPECIAL 7
  63.     EndIF
  64.   EndIF
  65.   If $UseFDA2 EQ 2
  66.     RequestChoice "Select the stub type" "1: C text*n2: assembler text*n3: link library" 1 2 3 >ENV:UseFDA3
  67.     IF $UseFDA3 EQ 1
  68.       SetEnv UseFDSPECIAL 10
  69.     EndIF
  70.     IF $UseFDA3 EQ 2
  71.       SetEnv UseFDSPECIAL 11
  72.     EndIF
  73.     IF $UseFDA3 EQ 0
  74.       SetEnv UseFDSPECIAL 12
  75.     EndIF
  76.   EndIF
  77.   If $UseFDA2 EQ 3
  78.     RequestChoice "Select the type" "1: register call*n2: stack call" 1 2 >ENV:UseFDA3
  79.     IF $UseFDA3 EQ 1
  80.       SetEnv UseFDSPECIAL 13
  81.     EndIF
  82.     IF $UseFDA3 EQ 0
  83.       SetEnv UseFDSPECIAL 14
  84.     EndIF
  85.   EndIF
  86.   If $UseFDA2 EQ 4
  87.     RequestChoice "Select the proto type" "1: with pragma/..._lib.h call*n2: with pragma/..._pragmas.h call*n3: with pragmas/..._lib.h call*n4: with pragmas/..._pragmas.h call*n5: with local/..._loc.h call*n6: all compilers*n7: GNU-C compiler only*n8: without lib definition*n9: with VBCC inline call*n10: with PPC specials" 1 2 3 4 5 6 7 8 9 10 >ENV:UseFDA3
  88.     IF $UseFDA3 EQ 1
  89.       SetEnv UseFDSPECIAL 30
  90.     EndIF
  91.     IF $UseFDA3 EQ 2
  92.       SetEnv UseFDSPECIAL 31
  93.     EndIF
  94.     IF $UseFDA3 EQ 3
  95.       SetEnv UseFDSPECIAL 32
  96.     EndIF
  97.     IF $UseFDA3 EQ 4
  98.       SetEnv UseFDSPECIAL 33
  99.     EndIF
  100.     IF $UseFDA3 EQ 5
  101.       SetEnv UseFDSPECIAL 34
  102.     EndIF
  103.     IF $UseFDA3 EQ 6
  104.       SetEnv UseFDSPECIAL 35
  105.     EndIF
  106.     IF $UseFDA3 EQ 7
  107.       SetEnv UseFDSPECIAL 36
  108.     EndIF
  109.     IF $UseFDA3 EQ 8
  110.       SetEnv UseFDSPECIAL 37
  111.     EndIF
  112.     IF $UseFDA3 EQ 9
  113.       SetEnv UseFDSPECIAL 38
  114.     EndIF
  115.     IF $UseFDA3 EQ 0
  116.       SetEnv UseFDSPECIAL 39
  117.     EndIF
  118.   EndIF
  119.   If $UseFDA2 EQ 5
  120.     RequestChoice "Select inline file type" "1: new*n2: old*n3: lib stubs*n4: new style macros*n5: new style inlines*n6: new style inlines (with include lines)" 1 2 3 4 5 6 >ENV:UseFDA3
  121.     IF $UseFDA3 EQ 1
  122.       SetEnv UseFDSPECIAL 40
  123.     EndIF
  124.     IF $UseFDA3 EQ 2
  125.       SetEnv UseFDSPECIAL 41
  126.     EndIF
  127.     IF $UseFDA3 EQ 3
  128.       SetEnv UseFDSPECIAL 42
  129.     EndIF
  130.     IF $UseFDA3 EQ 4
  131.       SetEnv UseFDSPECIAL 43
  132.     EndIF
  133.     IF $UseFDA3 EQ 5
  134.       SetEnv UseFDSPECIAL 44
  135.     EndIF
  136.     IF $UseFDA3 EQ 0
  137.       SetEnv UseFDSPECIAL 45
  138.     EndIF
  139.   EndIF
  140.   If $UseFDA2 EQ 6
  141.     RequestChoice "Select PPC file type" "1: new inlines*n2: old inlines*n3: lib stub inlines*n4: SAS-C PPC file*n5: PPC proto file" 1 2 3 4 5 >ENV:UseFDA3
  142.     IF $UseFDA3 EQ 1
  143.       SetEnv UseFDSPECIAL 50
  144.     EndIF
  145.     IF $UseFDA3 EQ 2
  146.       SetEnv UseFDSPECIAL 51
  147.     EndIF
  148.     IF $UseFDA3 EQ 3
  149.       SetEnv UseFDSPECIAL 52
  150.     EndIF
  151.     IF $UseFDA3 EQ 4
  152.       SetEnv UseFDSPECIAL 53
  153.     EndIF
  154.     IF $UseFDA3 EQ 0
  155.       SetEnv UseFDSPECIAL 54
  156.     EndIF
  157.   EndIF
  158.   If $UseFDA2 EQ 7
  159.     RequestChoice "Select destination system" "1: 68K*n2: WarpOS*n3: PowerUP*n4: MorphOS" 1 2 3 4 >ENV:UseFDVBCC
  160.     IF $UseFDVBCC EQ 1
  161.       RequestChoice "Select file type" "1: inlines*n2: stubs (ASM)*n3: stubs (multifile ASM)*n4: stubs (link library)*n5: auto lib open (c code)*n6: auto lib open lib" 1 2 3 4 5 6 >ENV:UseFDA3
  162.       IF $UseFDA3 EQ 1
  163.         SetEnv UseFDSPECIAL 70
  164.       EndIF
  165.       IF $UseFDA3 EQ 2
  166.         SetEnv UseFDSPECIAL 11
  167.       EndIF
  168.       IF $UseFDA3 EQ 3
  169.         SetEnv UseFDSPECIAL 90
  170.       EndIF
  171.       IF $UseFDA3 EQ 4
  172.         SetEnv UseFDSPECIAL 12
  173.       EndIF
  174.       IF $UseFDA3 EQ 5
  175.         SetEnv UseFDSPECIAL 120
  176.       EndIF
  177.       IF $UseFDA3 EQ 0
  178.         SetEnv UseFDSPECIAL 121
  179.       EndIF
  180.     EndIF
  181.     IF $UseFDVBCC EQ 2
  182.       RequestChoice "Select file type" "1: inlines*n2: stubs (ASM)*n3: stubs (ASM, libbase)*n4: stubs (multifile ASM)*n5: stubs (link library)*n6: stubs (link library, libbase)*n7: auto lib open (c code)" 1 2 3 4 5 6 7 >ENV:UseFDA3
  183.       IF $UseFDA3 EQ 1
  184.         SetEnv UseFDSPECIAL 77
  185.       EndIF
  186.       IF $UseFDA3 EQ 2
  187.         SetEnv UseFDSPECIAL 71
  188.       EndIF
  189.       IF $UseFDA3 EQ 3
  190.         SetEnv UseFDSPECIAL 72
  191.       EndIF
  192.       IF $UseFDA3 EQ 4
  193.         SetEnv UseFDSPECIAL 92
  194.       EndIF
  195.       IF $UseFDA3 EQ 5
  196.         SetEnv UseFDSPECIAL 73
  197.       EndIF
  198.       IF $UseFDA3 EQ 6
  199.         SetEnv UseFDSPECIAL 74
  200.       EndIF
  201.       IF $UseFDA3 EQ 0
  202.         SetEnv UseFDSPECIAL 120
  203.       EndIF
  204.     EndIF
  205.     IF $UseFDVBCC EQ 3
  206.       RequestChoice "Select file type" "1: stubs (ASM)*n2: stubs (multifile ASM)*n3: stubs (link library)*n4: auto lib open (c code)" 1 2 3 4 >ENV:UseFDA3
  207.       IF $UseFDA3 EQ 1
  208.         SetEnv UseFDSPECIAL 75
  209.       EndIF
  210.       IF $UseFDA3 EQ 2
  211.         SetEnv UseFDSPECIAL 91
  212.       EndIF
  213.       IF $UseFDA3 EQ 3
  214.         SetEnv UseFDSPECIAL 76
  215.       EndIF
  216.       IF $UseFDA3 EQ 0
  217.         SetEnv UseFDSPECIAL 120
  218.       EndIF
  219.     EndIF
  220.     IF $UseFDVBCC EQ 0
  221.       RequestChoice "Select file type" "1: stubs (multifile ASM)*n2: stubs (link library)" 1 2 >ENV:UseFDA3
  222.       IF $UseFDA3 EQ 1
  223.         SetEnv UseFDSPECIAL 93
  224.       EndIF
  225.       IF $UseFDA3 EQ 0
  226.         SetEnv UseFDSPECIAL 78
  227.       EndIF
  228.     EndIF
  229.   EndIF
  230.   If $UseFDA2 EQ 0
  231.     RequestChoice "Select file type" "1: 68K*n2: VBCC PowerUP*n3: VBCC WOS*n4: VBCC MorphOS" 1 2 3 4 >ENV:UseFDA3
  232.     IF $UseFDA3 EQ 1
  233.       SetEnv UseFDSPECIAL 90
  234.     EndIF
  235.     IF $UseFDA3 EQ 2
  236.       SetEnv UseFDSPECIAL 91
  237.     EndIF
  238.     IF $UseFDA3 EQ 3
  239.       SetEnv UseFDSPECIAL 92
  240.     EndIF
  241.     IF $UseFDA3 EQ 0
  242.       SetEnv UseFDSPECIAL 93
  243.     EndIF
  244.   EndIF
  245. EndIF
  246.  
  247. IF $UseFDA1 EQ 2        ;**** Pascal ****
  248.   RequestChoice "Select the file type" "1: stub-functions - assembler text*n2: stub-functions - link library*n3: FPC unit text" 1 2 3 >ENV:UseFDA2
  249.  
  250.   IF $UseFDA2 EQ 1
  251.     SetEnv UseFDSPECIAL 15        ; stub-functions for Pascal - assembler text
  252.   EndIF
  253.  
  254.   IF $UseFDA2 EQ 2
  255.     SetEnv UseFDSPECIAL 16        ; stub-functions for Pascal - link library
  256.   EndIF
  257.  
  258.   IF $UseFDA2 EQ 0
  259.     SetEnv UseFDSPECIAL 60        ; FPC pascal unit text
  260.   EndIF
  261. EndIF
  262.  
  263. IF $UseFDA1 EQ 3        ;**** Assembler ****
  264.   RequestChoice "Select the file type" "1: lvo _lvo.i file*n2: lvo _lib.i file*n3: lvo _lvo.i file no XDEF*n4: lvo _lib.i file no XDEF*n5: link library" 1 2 3 4 5 >ENV:UseFDA2
  265.  
  266.   IF $UseFDA2 EQ 1
  267.     SetEnv UseFDSPECIAL 20        ; assembler lvo _lvo.i file
  268.   EndIF
  269.  
  270.   IF $UseFDA2 EQ 2
  271.     SetEnv UseFDSPECIAL 21        ; assembler lvo _lib.i file
  272.   EndIF
  273.  
  274.   IF $UseFDA2 EQ 3
  275.     SetEnv UseFDSPECIAL 22        ; assembler lvo _lvo.i file no XDEF
  276.   EndIF
  277.  
  278.   IF $UseFDA2 EQ 4
  279.     SetEnv UseFDSPECIAL 23        ; assembler lvo _lib.i file no XDEF
  280.   EndIF
  281.  
  282.   IF $UseFDA2 EQ 0
  283.     SetEnv UseFDSPECIAL 24        ; assembler lvo link library
  284.   EndIF
  285. EndIF
  286.  
  287. IF $UseFDA1 EQ 4        ;**** PPC Assembler ****
  288.   RequestChoice "Select the file type" "1: lvo file*n2: lvo file (no XDEF)*n3: lvo ELF lib*n4: lvo EHF lib*n5: V.4 lvo file*n6: V.4 lvo file (no XDEF)*n7: V.4 lvo ELF lib*n8: V.4lvo EHF lib" 1 2 3 4 5 6 7 8 >ENV:UseFDA2
  289.  
  290.   IF $UseFDA2 EQ 1
  291.     SetEnv UseFDSPECIAL 100        ; assembler lvo
  292.   EndIF
  293.  
  294.   IF $UseFDA2 EQ 2
  295.     SetEnv UseFDSPECIAL 101        ; assembler lvo no XDEF
  296.   EndIF
  297.  
  298.   IF $UseFDA2 EQ 3
  299.     SetEnv UseFDSPECIAL 102        ; assembler lvo EHF lib
  300.   EndIF
  301.  
  302.   IF $UseFDA2 EQ 4
  303.     SetEnv UseFDSPECIAL 103        ; assembler lvo ELF lib
  304.   EndIF
  305.  
  306.   IF $UseFDA2 EQ 5
  307.     SetEnv UseFDSPECIAL 104        ; V.4 assembler lvo
  308.   EndIF
  309.  
  310.   IF $UseFDA2 EQ 6
  311.     SetEnv UseFDSPECIAL 105        ; V.4 assembler lvo no XDEF
  312.   EndIF
  313.  
  314.   IF $UseFDA2 EQ 7
  315.     SetEnv UseFDSPECIAL 106        ; V.4 assembler lvo EHF lib
  316.   EndIF
  317.  
  318.   IF $UseFDA2 EQ 0
  319.     SetEnv UseFDSPECIAL 107        ; V.4 assembler lvo ELF lib
  320.   EndIF
  321. EndIF
  322.  
  323. IF $UseFDA1 EQ 5        ;**** Basic ****
  324.   SetEnv UseFDSPECIAL 17        ; BMAP file for AmigaBASIC and MaxonBASIC
  325. EndIF
  326.  
  327. IF $UseFDA1 EQ 6        ;**** E ****
  328.   SetEnv UseFDSPECIAL 18        ; Module file for E
  329. EndIF
  330.  
  331. IF $UseFDA1 EQ 7        ;**** FD, SFD, Clib ****
  332.   RequestChoice "Select the file type" "1: FD file*n2: Clib file*n3: SFD file" 1 2 3 >ENV:UseFDA2
  333.  
  334.   IF $UseFDA2 EQ 1
  335.     SetEnv UseFDSPECIAL 110        ; FD
  336.   EndIF
  337.  
  338.   IF $UseFDA2 EQ 2
  339.     SetEnv UseFDSPECIAL 111        ; Clib
  340.   EndIF
  341.  
  342.   IF $UseFDA2 EQ 0
  343.     SetEnv UseFDSPECIAL 112        ; SFD
  344.   EndIF
  345. EndIF
  346.  
  347. ; **** create type depending data here ****
  348. SetEnv UseFDSPEC `Eval 1000+$UseFDSPECIAL` ; *** we need 3 digit numbers
  349. SetEnv UseFDMode 0
  350. SetEnv UseFDNeedCLIB 0
  351. IF 1010 GE $UseFDSPEC   ;  1 -  8
  352.   SetEnv UseFDOnEXTERNC ""
  353.   SetEnv UseFDOnNEWSYNTAX ""
  354.   SetEnv UseFDOnNOPPCREGNAME ""
  355.   SetEnv UseFDOnNOSYMBOL ""
  356.   SetEnv UseFDOnONLYCNAMES ""
  357.   SetEnv UseFDOnOPT040 ""
  358.   SetEnv UseFDOnSECTION ""
  359.   SetEnv UseFDOnSMALLDATA ""
  360.   SetEnv UseFDOnSMALLCODE ""
  361.   IF $UseFDSPECIAL EQ 1
  362.     SetEnv UseFDMode 1
  363.   EndIF
  364.   IF $UseFDSPECIAL EQ 2
  365.     SetEnv UseFDMode 1
  366.   EndIF
  367.   IF $UseFDSPECIAL EQ 3
  368.     SetEnv UseFDMode 1
  369.   EndIF
  370.   IF $UseFDSPECIAL EQ 4
  371.     SetEnv UseFDMode 1
  372.   EndIF
  373.   IF $UseFDSPECIAL EQ 5
  374.     SetEnv UseFDMode 1
  375.   EndIF
  376.   IF $UseFDSPECIAL EQ 6
  377.     SetEnv UseFDMode 1
  378.   EndIF
  379.   IF $UseFDSPECIAL EQ 7
  380.     SetEnv UseFDMode 1
  381.   EndIF
  382.   Skip EndDisableOpts
  383. EndIF
  384. IF 1020 GE $UseFDSPEC   ; 10 - 18
  385.   SetEnv UseFDOnUSESYSCALL ""
  386.   IF $UseFDSPECIAL EQ 10
  387.     SetEnv UseFDNeedCLIB 1
  388.   EndIF
  389.   IF $UseFDSPECIAL EQ 11
  390.     SetEnv UseFDMode 2
  391.     SetEnv UseFDNeedCLIB 1
  392.   EndIF
  393.   IF $UseFDSPECIAL EQ 12
  394.     SetEnv UseFDMode 2
  395.     SetEnv UseFDNeedCLIB 1
  396.   EndIF
  397.   IF $UseFDSPECIAL EQ 13
  398.     SetEnv UseFDMode 2
  399.     SetEnv UseFDNeedCLIB 1
  400.   EndIF
  401.   IF $UseFDSPECIAL EQ 14
  402.     SetEnv UseFDMode 2
  403.     SetEnv UseFDNeedCLIB 1
  404.   EndIF
  405.   IF $UseFDSPECIAL EQ 15
  406.     SetEnv UseFDNeedCLIB 1
  407.   EndIF
  408.   IF $UseFDSPECIAL EQ 16
  409.     SetEnv UseFDNeedCLIB 1
  410.   EndIF
  411.   Skip EndDisableOpts
  412. EndIF
  413. IF 1030 GE $UseFDSPEC   ; 20 - 24
  414.   SetEnv UseFDOnUSESYSCALL ""
  415.   IF $UseFDSPECIAL EQ 20
  416.   EndIF
  417.   IF $UseFDSPECIAL EQ 21
  418.   EndIF
  419.   IF $UseFDSPECIAL EQ 22
  420.   EndIF
  421.   IF $UseFDSPECIAL EQ 23
  422.   EndIF
  423.   IF $UseFDSPECIAL EQ 24
  424.   EndIF
  425.   Skip EndDisableOpts
  426. EndIF
  427. IF 1040 GE $UseFDSPEC   ; 30 - 39
  428.   SetEnv UseFDOnUSESYSCALL ""
  429.   IF $UseFDSPECIAL EQ 30
  430.   EndIF
  431.   IF $UseFDSPECIAL EQ 31
  432.   EndIF
  433.   IF $UseFDSPECIAL EQ 32
  434.   EndIF
  435.   IF $UseFDSPECIAL EQ 33
  436.   EndIF
  437.   IF $UseFDSPECIAL EQ 34
  438.   EndIF
  439.   IF $UseFDSPECIAL EQ 35
  440.   EndIF
  441.   IF $UseFDSPECIAL EQ 36
  442.   EndIF
  443.   IF $UseFDSPECIAL EQ 37
  444.   EndIF
  445.   IF $UseFDSPECIAL EQ 38
  446.   EndIF
  447.   IF $UseFDSPECIAL EQ 39
  448.   EndIF
  449.   Skip EndDisableOpts
  450. EndIF
  451. IF 1050 GE $UseFDSPEC   ; 40 - 45
  452.   SetEnv UseFDOnUSESYSCALL ""
  453.   IF $UseFDSPECIAL EQ 40
  454.     SetEnv UseFDMode 2
  455.     SetEnv UseFDNeedCLIB 1
  456.   EndIF
  457.   IF $UseFDSPECIAL EQ 41
  458.     SetEnv UseFDMode 2
  459.     SetEnv UseFDNeedCLIB 1
  460.   EndIF
  461.   IF $UseFDSPECIAL EQ 42
  462.     SetEnv UseFDMode 2
  463.     SetEnv UseFDNeedCLIB 1
  464.   EndIF
  465.   IF $UseFDSPECIAL EQ 43
  466.     SetEnv UseFDMode 2
  467.     SetEnv UseFDNeedCLIB 1
  468.   EndIF
  469.   IF $UseFDSPECIAL EQ 44
  470.     SetEnv UseFDMode 2
  471.     SetEnv UseFDNeedCLIB 1
  472.   EndIF
  473.   IF $UseFDSPECIAL EQ 45
  474.     SetEnv UseFDMode 2
  475.     SetEnv UseFDNeedCLIB 1
  476.   EndIF
  477.   Skip EndDisableOpts
  478. EndIF
  479. IF 1060 GE $UseFDSPEC   ; 50 - 54
  480.   SetEnv UseFDOnUSESYSCALL ""
  481.   IF $UseFDSPECIAL EQ 50
  482.     SetEnv UseFDMode 2
  483.     SetEnv UseFDNeedCLIB 1
  484.   EndIF
  485.   IF $UseFDSPECIAL EQ 51
  486.     SetEnv UseFDMode 2
  487.     SetEnv UseFDNeedCLIB 1
  488.   EndIF
  489.   IF $UseFDSPECIAL EQ 52
  490.     SetEnv UseFDMode 2
  491.     SetEnv UseFDNeedCLIB 1
  492.   EndIF
  493.   IF $UseFDSPECIAL EQ 53
  494.     SetEnv UseFDMode 2
  495.     SetEnv UseFDNeedCLIB 1
  496.   EndIF
  497.   IF $UseFDSPECIAL EQ 54
  498.   EndIF
  499.   Skip EndDisableOpts
  500. EndIF
  501. IF 1070 GE $UseFDSPEC   ; 60
  502.   SetEnv UseFDOnUSESYSCALL ""
  503.   IF $UseFDSPECIAL EQ 60
  504.     SetEnv UseFDNeedCLIB 1
  505.   EndIF
  506.   Skip EndDisableOpts
  507. EndIF
  508. IF 1080 GE $UseFDSPEC   ; 70 - 77
  509.   SetEnv UseFDOnUSESYSCALL ""
  510.   IF $UseFDSPECIAL EQ 70
  511.     SetEnv UseFDMode 2
  512.     SetEnv UseFDNeedCLIB 1
  513.   EndIF
  514.   IF $UseFDSPECIAL EQ 71
  515.     SetEnv UseFDMode 2
  516.   EndIF
  517.   IF $UseFDSPECIAL EQ 72
  518.     SetEnv UseFDMode 2
  519.   EndIF
  520.   IF $UseFDSPECIAL EQ 73
  521.     SetEnv UseFDMode 2
  522.   EndIF
  523.   IF $UseFDSPECIAL EQ 74
  524.     SetEnv UseFDMode 2
  525.   EndIF
  526.   IF $UseFDSPECIAL EQ 75
  527.     SetEnv UseFDMode 2
  528.   EndIF
  529.   IF $UseFDSPECIAL EQ 76
  530.     SetEnv UseFDMode 2
  531.   EndIF
  532.   IF $UseFDSPECIAL EQ 77
  533.     SetEnv UseFDNeedCLIB 1
  534.   EndIF
  535.   IF $UseFDSPECIAL EQ 78
  536.     SetEnv UseFDMode 2
  537.   EndIF
  538.   Skip EndDisableOpts
  539. EndIF
  540. IF 1090 GE $UseFDSPEC   ; 80 - 83
  541.   SetEnv UseFDOnUSESYSCALL ""
  542.   IF $UseFDSPECIAL EQ 80
  543.   EndIF
  544.   IF $UseFDSPECIAL EQ 81
  545.   EndIF
  546.   IF $UseFDSPECIAL EQ 82
  547.   EndIF
  548.   IF $UseFDSPECIAL EQ 83
  549.   EndIF
  550.   Skip EndDisableOpts
  551. EndIF
  552. IF 1100 GE $UseFDSPEC  ; 90 - 93
  553.   SetEnv UseFDOnUSESYSCALL ""
  554.   IF $UseFDSPECIAL EQ 90
  555.     SetEnv UseFDMode 2
  556.   EndIF
  557.   IF $UseFDSPECIAL EQ 91
  558.     SetEnv UseFDMode 2
  559.   EndIF
  560.   IF $UseFDSPECIAL EQ 92
  561.     SetEnv UseFDMode 2
  562.   EndIF
  563.   IF $UseFDSPECIAL EQ 93
  564.     SetEnv UseFDMode 2
  565.   EndIF
  566.   Skip EndDisableOpts
  567. EndIF
  568. IF 1110 GE $UseFDSPEC  ; 100 - 107
  569.   SetEnv UseFDOnCOMMENT ""
  570.   SetEnv UseFDOnEXTERNC ""
  571.   SetEnv UseFDOnFPUONLY ""
  572.   SetEnv UseFDOnNEWSYNTAX ""
  573.   SetEnv UseFDOnNOFPU ""
  574.   SetEnv UseFDOnNOPPC ""
  575.   SetEnv UseFDOnNOPPCREGNAME ""
  576.   SetEnv UseFDOnNOSYMBOL ""
  577.   SetEnv UseFDOnONLYCNAMES ""
  578.   SetEnv UseFDOnOPT040 ""
  579.   SetEnv UseFDOnPPCONLY ""
  580.   SetEnv UseFDOnPRIVATE ""
  581.   SetEnv UseFDOnSECTION ""
  582.   SetEnv UseFDOnSMALLDATA ""
  583.   SetEnv UseFDOnSMALLCODE ""
  584.   SetEnv UseFDOnSORTED ""
  585.   SetEnv UseFDOnSYSTEMRELEASE ""
  586.   SetEnv UseFDOnUSESYSCALL ""
  587.   IF $UseFDSPECIAL EQ 100
  588.   EndIF
  589.   IF $UseFDSPECIAL EQ 101
  590.   EndIF
  591.   IF $UseFDSPECIAL EQ 102
  592.   EndIF
  593.   IF $UseFDSPECIAL EQ 103
  594.   EndIF
  595.   IF $UseFDSPECIAL EQ 104
  596.   EndIF
  597.   IF $UseFDSPECIAL EQ 105
  598.   EndIF
  599.   IF $UseFDSPECIAL EQ 106
  600.   EndIF
  601.   IF $UseFDSPECIAL EQ 107
  602.   EndIF
  603.   Skip EndDisableOpts
  604. EndIF
  605. IF 1120 GE $UseFDSPEC  ; 110 - 112
  606.   SetEnv UseFDOnUSESYSCALL ""
  607.   SetEnv UseFDMode 2
  608.   SetEnv UseFDNeedCLIB 1
  609.   IF $UseFDSPECIAL EQ 110
  610.     SetEnv UseFDOnEXTERNC ""
  611.     SetEnv UseFDOnSORTED ""
  612.   EndIF
  613.   IF $UseFDSPECIAL EQ 111
  614.   EndIF
  615.     SetEnv UseFDOnEXTERNC ""
  616.     SetEnv UseFDOnSORTED ""
  617.   IF $UseFDSPECIAL EQ 112
  618.   EndIF
  619.   Skip EndDisableOpts
  620. EndIF
  621. IF 1130 GE $UseFDSPEC  ; 120 - 121
  622.   SetEnv UseFDOnCOMMENT ""
  623.   SetEnv UseFDOnEXTERNC ""
  624.   SetEnv UseFDOnFPUONLY ""
  625.   SetEnv UseFDOnNEWSYNTAX ""
  626.   SetEnv UseFDOnNOFPU ""
  627.   SetEnv UseFDOnNOPPC ""
  628.   SetEnv UseFDOnNOPPCREGNAME ""
  629.   SetEnv UseFDOnNOSYMBOL ""
  630.   SetEnv UseFDOnONLYCNAMES ""
  631.   SetEnv UseFDOnOPT040 ""
  632.   SetEnv UseFDOnPPCONLY ""
  633.   SetEnv UseFDOnPRIVATE ""
  634.   SetEnv UseFDOnSECTION ""
  635.   SetEnv UseFDOnSORTED ""
  636.   SetEnv UseFDOnSYSTEMRELEASE ""
  637.   SetEnv UseFDOnUSESYSCALL ""
  638.   IF $UseFDSPECIAL EQ 120
  639.   EndIF
  640.   IF $UseFDSPECIAL EQ 121
  641.   EndIF
  642.   Skip EndDisableOpts
  643. EndIF
  644.  
  645. Lab EndDisableOpts
  646. ; **** scan options here ****
  647. Delete ENV:UseFDArgs >NIL:
  648.  
  649. Lab ScanOpts
  650. Delete ENV:UseFDOptions >NIL:
  651. Echo NOLINE >ENV:UseFDOptionText  "See documentation for option description.**n"
  652. Echo NOLINE >>ENV:UseFDOptionText "Finish this request with 'x'.**n**n"
  653.  
  654. SetEnv UseFDNum 0
  655. IF $UseFDOnCOMMENT
  656.   Echo NOLINE >>ENV:UseFDOptionText          "$UseFDOnCOMMENT=COMMENT      "
  657.   Echo NOLINE >>ENV:UseFDOptions    "$UseFDOnCOMMENT"
  658.   SetEnv UseFDNum `Eval $UseFDNum+1`
  659.   IF `Eval $UseFDNum % 3` EQ 0
  660.     Echo >>ENV:UseFDOptionText ""
  661.   EndIF
  662. EndIF
  663. IF $UseFDOnEXTERNC
  664.   Echo NOLINE >>ENV:UseFDOptionText          "$UseFDOnEXTERNC=EXTERNC      "
  665.   Echo NOLINE >>ENV:UseFDOptions    "$UseFDOnEXTERNC"
  666.   SetEnv UseFDNum `Eval $UseFDNum+1`
  667.   IF `Eval $UseFDNum % 3` EQ 0
  668.     Echo NOLINE >>ENV:UseFDOptionText "**n"
  669.   EndIF
  670. EndIF
  671. IF $UseFDOnFPUONLY
  672.   Echo NOLINE >>ENV:UseFDOptionText          "$UseFDOnFPUONLY=FPUONLY      "
  673.   Echo NOLINE >>ENV:UseFDOptions    "$UseFDOnFPUONLY"
  674.   SetEnv UseFDNum `Eval $UseFDNum+1`
  675.   IF `Eval $UseFDNum % 3` EQ 0
  676.     Echo NOLINE >>ENV:UseFDOptionText "**n"
  677.   EndIF
  678. EndIF
  679. IF $UseFDOnNEWSYNTAX
  680.   Echo NOLINE >>ENV:UseFDOptionText        "$UseFDOnNEWSYNTAX=NEWSYNTAX    "
  681.   Echo NOLINE >>ENV:UseFDOptions    "$UseFDOnNEWSYNTAX"
  682.   SetEnv UseFDNum `Eval $UseFDNum+1`
  683.   IF `Eval $UseFDNum % 3` EQ 0
  684.     Echo NOLINE >>ENV:UseFDOptionText "**n"
  685.   EndIF
  686. EndIF
  687. IF $UseFDOnNOFPU
  688.   Echo NOLINE >>ENV:UseFDOptionText            "$UseFDOnNOFPU=NOFPU        "
  689.   Echo NOLINE >>ENV:UseFDOptions    "$UseFDOnNOFPU"
  690.   SetEnv UseFDNum `Eval $UseFDNum+1`
  691.   IF `Eval $UseFDNum % 3` EQ 0
  692.     Echo NOLINE >>ENV:UseFDOptionText "**n"
  693.   EndIF
  694. EndIF
  695. IF $UseFDOnNOPPC
  696.   Echo NOLINE >>ENV:UseFDOptionText            "$UseFDOnNOPPC=NOPPC        "
  697.   Echo NOLINE >>ENV:UseFDOptions    "$UseFDOnNOPPC"
  698.   SetEnv UseFDNum `Eval $UseFDNum+1`
  699.   IF `Eval $UseFDNum % 3` EQ 0
  700.     Echo NOLINE >>ENV:UseFDOptionText "**n"
  701.   EndIF
  702. EndIF
  703. IF $UseFDOnNOPPCREGNAME
  704.   Echo NOLINE >>ENV:UseFDOptionText     "$UseFDOnNOPPCREGNAME=NOPPCREGNAME "
  705.   Echo NOLINE >>ENV:UseFDOptions    "$UseFDOnNOPPCREGNAME"
  706.   SetEnv UseFDNum `Eval $UseFDNum+1`
  707.   IF `Eval $UseFDNum % 3` EQ 0
  708.     Echo NOLINE >>ENV:UseFDOptionText "**n"
  709.   EndIF
  710. EndIF
  711. IF $UseFDOnNOSYMBOL
  712.   Echo NOLINE >>ENV:UseFDOptionText         "$UseFDOnNOSYMBOL=NOSYMBOL     "
  713.   Echo NOLINE >>ENV:UseFDOptions    "$UseFDOnNOSYMBOL"
  714.   SetEnv UseFDNum `Eval $UseFDNum+1`
  715.   IF `Eval $UseFDNum % 3` EQ 0
  716.     Echo NOLINE >>ENV:UseFDOptionText "**n"
  717.   EndIF
  718. EndIF
  719. IF $UseFDOnONLYCNAMES
  720.   Echo NOLINE >>ENV:UseFDOptionText       "$UseFDOnONLYCNAMES=ONLYCNAMES   "
  721.   Echo NOLINE >>ENV:UseFDOptions    "$UseFDOnONLYCNAMES"
  722.   SetEnv UseFDNum `Eval $UseFDNum+1`
  723.   IF `Eval $UseFDNum % 3` EQ 0
  724.     Echo NOLINE >>ENV:UseFDOptionText "**n"
  725.   EndIF
  726. EndIF
  727. IF $UseFDOnOPT040
  728.   Echo NOLINE >>ENV:UseFDOptionText           "$UseFDOnOPT040=OPT040       "
  729.   Echo NOLINE >>ENV:UseFDOptions    "$UseFDOnOPT040"
  730.   SetEnv UseFDNum `Eval $UseFDNum+1`
  731.   IF `Eval $UseFDNum % 3` EQ 0
  732.     Echo NOLINE >>ENV:UseFDOptionText "**n"
  733.   EndIF
  734. EndIF
  735. IF $UseFDOnPPCONLY
  736.   Echo NOLINE >>ENV:UseFDOptionText          "$UseFDOnPPCONLY=PPCONLY      "
  737.   Echo NOLINE >>ENV:UseFDOptions    "$UseFDOnPPCONLY"
  738.   SetEnv UseFDNum `Eval $UseFDNum+1`
  739.   IF `Eval $UseFDNum % 3` EQ 0
  740.     Echo NOLINE >>ENV:UseFDOptionText "**n"
  741.   EndIF
  742. EndIF
  743. IF $UseFDOnPRIVATE
  744.   Echo NOLINE >>ENV:UseFDOptionText          "$UseFDOnPRIVATE=PRIVATE      "
  745.   Echo NOLINE >>ENV:UseFDOptions    "$UseFDOnPRIVATE"
  746.   SetEnv UseFDNum `Eval $UseFDNum+1`
  747.   IF `Eval $UseFDNum % 3` EQ 0
  748.     Echo NOLINE >>ENV:UseFDOptionText "**n"
  749.   EndIF
  750. EndIF
  751. IF $UseFDOnSECTION
  752.   Echo NOLINE >>ENV:UseFDOptionText          "$UseFDOnSECTION=SECTION      "
  753.   Echo NOLINE >>ENV:UseFDOptions    "$UseFDOnSECTION"
  754.   SetEnv UseFDNum `Eval $UseFDNum+1`
  755.   IF `Eval $UseFDNum % 3` EQ 0
  756.     Echo NOLINE >>ENV:UseFDOptionText "**n"
  757.   EndIF
  758. EndIF
  759. IF $UseFDOnSMALLCODE
  760.   Echo NOLINE >>ENV:UseFDOptionText        "$UseFDOnSMALLCODE=SMALLCODE    "
  761.   Echo NOLINE >>ENV:UseFDOptions    "$UseFDOnSMALLCODE"
  762.   SetEnv UseFDNum `Eval $UseFDNum+1`
  763.   IF `Eval $UseFDNum % 3` EQ 0
  764.     Echo NOLINE >>ENV:UseFDOptionText "**n"
  765.   EndIF
  766. EndIF
  767. IF $UseFDOnSMALLDATA
  768.   Echo NOLINE >>ENV:UseFDOptionText        "$UseFDOnSMALLDATA=SMALLDATA    "
  769.   Echo NOLINE >>ENV:UseFDOptions    "$UseFDOnSMALLDATA"
  770.   SetEnv UseFDNum `Eval $UseFDNum+1`
  771.   IF `Eval $UseFDNum % 3` EQ 0
  772.     Echo NOLINE >>ENV:UseFDOptionText "**n"
  773.   EndIF
  774. EndIF
  775. IF $UseFDOnSORTED
  776.   Echo NOLINE >>ENV:UseFDOptionText           "$UseFDOnSORTED=SORTED       "
  777.   Echo NOLINE >>ENV:UseFDOptions    "$UseFDOnSORTED"
  778.   SetEnv UseFDNum `Eval $UseFDNum+1`
  779.   IF `Eval $UseFDNum % 3` EQ 0
  780.     Echo NOLINE >>ENV:UseFDOptionText "**n"
  781.   EndIF
  782. EndIF
  783. IF $UseFDOnSYSTEMRELEASE
  784.   Echo NOLINE >>ENV:UseFDOptionText    "$UseFDOnSYSTEMRELEASE=SYSTEMRELEASE"
  785.   Echo NOLINE >>ENV:UseFDOptions    "$UseFDOnSYSTEMRELEASE"
  786.   SetEnv UseFDNum `Eval $UseFDNum+1`
  787.   IF `Eval $UseFDNum % 3` EQ 0
  788.     Echo NOLINE >>ENV:UseFDOptionText "**n"
  789.   EndIF
  790. EndIF
  791. IF $UseFDOnUSESYSCALL
  792.   Echo NOLINE >>ENV:UseFDOptionText       "$UseFDOnUSESYSCALL=USESYSCALL   "
  793.   Echo NOLINE >>ENV:UseFDOptions    "$UseFDOnUSESYSCALL"
  794.   SetEnv UseFDNum `Eval $UseFDNum+1`
  795.   IF `Eval $UseFDNum % 3` EQ 0
  796.     Echo NOLINE >>ENV:UseFDOptionText "**n"
  797.   EndIF
  798. EndIF
  799. IF $UseFDOnVOIDBASE
  800.   Echo NOLINE >>ENV:UseFDOptionText         "$UseFDOnVOIDBASE=VOIDBASE     "
  801.   Echo NOLINE >>ENV:UseFDOptions    "$UseFDOnVOIDBASE"
  802.   SetEnv UseFDNum `Eval $UseFDNum+1`
  803.   IF `Eval $UseFDNum % 3` EQ 0
  804.     Echo NOLINE >>ENV:UseFDOptionText "**n"
  805.   EndIF
  806. EndIF
  807.  
  808. IF $UseFDNum EQ 0
  809.   Skip EndScanOpts
  810. EndIF
  811.  
  812. RequestChoice "Select Option" "`Type ENV:UseFDOptionText`" $UseFDOptions "x" >ENV:UseFDOption
  813.  
  814. IF $UseFDOption EQ 0
  815.   Skip EndScanOpts
  816. EndIF
  817.  
  818. SetEnv UseFDNum 1
  819. IF $UseFDOnCOMMENT
  820.   IF $UseFDOption EQ $UseFDNum
  821.     Echo NOLINE >>ENV:UseFDArgs " COMMENT"
  822.     SetEnv UseFDOnCOMMENT ""
  823.   EndIF
  824.   SetEnv UseFDNum `Eval $UseFDNum+1`
  825. EndIF
  826. IF $UseFDOnEXTERNC
  827.   IF $UseFDOption EQ $UseFDNum
  828.     Echo NOLINE >>ENV:UseFDArgs " EXTERNC"
  829.     SetEnv UseFDOnEXTERNC ""
  830.   EndIF
  831.   SetEnv UseFDNum `Eval $UseFDNum+1`
  832. EndIF
  833. IF $UseFDOnFPUONLY
  834.   IF $UseFDOption EQ $UseFDNum
  835.     Echo NOLINE >>ENV:UseFDArgs " FPUONLY"
  836.     SetEnv UseFDOnFPUONLY ""
  837.   EndIF
  838.   SetEnv UseFDNum `Eval $UseFDNum+1`
  839. EndIF
  840. IF $UseFDOnNEWSYNTAX
  841.   IF $UseFDOption EQ $UseFDNum
  842.     Echo NOLINE >>ENV:UseFDArgs " NEWSYNTAX"
  843.     SetEnv UseFDOnNEWSYNTAX ""
  844.   EndIF
  845.   SetEnv UseFDNum `Eval $UseFDNum+1`
  846. EndIF
  847. IF $UseFDOnNOFPU
  848.   IF $UseFDOption EQ $UseFDNum
  849.     Echo NOLINE >>ENV:UseFDArgs " NOFPU"
  850.     SetEnv UseFDOnNOFPU ""
  851.   EndIF
  852.   SetEnv UseFDNum `Eval $UseFDNum+1`
  853. EndIF
  854. IF $UseFDOnNOPPC
  855.   IF $UseFDOption EQ $UseFDNum
  856.     Echo NOLINE >>ENV:UseFDArgs " NOPPC"
  857.     SetEnv UseFDOnNOPPC ""
  858.   EndIF
  859.   SetEnv UseFDNum `Eval $UseFDNum+1`
  860. EndIF
  861. IF $UseFDOnNOPPCREGNAME
  862.   IF $UseFDOption EQ $UseFDNum
  863.     Echo NOLINE >>ENV:UseFDArgs " NOPPCREGNAME"
  864.     SetEnv UseFDOnNOPPCREGNAME ""
  865.   EndIF
  866.   SetEnv UseFDNum `Eval $UseFDNum+1`
  867. EndIF
  868. IF $UseFDOnNOSYMBOL
  869.   IF $UseFDOption EQ $UseFDNum
  870.     Echo NOLINE >>ENV:UseFDArgs " NOSYMBOL"
  871.     SetEnv UseFDOnNOSYMBOL ""
  872.   EndIF
  873.   SetEnv UseFDNum `Eval $UseFDNum+1`
  874. EndIF
  875. IF $UseFDOnONLYCNAMES
  876.   IF $UseFDOption EQ $UseFDNum
  877.     Echo NOLINE >>ENV:UseFDArgs " ONLYCNAMES"
  878.     SetEnv UseFDOnONLYCNAMES ""
  879.   EndIF
  880.   SetEnv UseFDNum `Eval $UseFDNum+1`
  881. EndIF
  882. IF $UseFDOnOPT040
  883.   IF $UseFDOption EQ $UseFDNum
  884.     Echo NOLINE >>ENV:UseFDArgs " OPT040"
  885.     SetEnv UseFDOnOPT040 ""
  886.   EndIF
  887.   SetEnv UseFDNum `Eval $UseFDNum+1`
  888. EndIF
  889. IF $UseFDOnPPCONLY
  890.   IF $UseFDOption EQ $UseFDNum
  891.     Echo NOLINE >>ENV:UseFDArgs " PPCONLY"
  892.     SetEnv UseFDOnPPCONLY ""
  893.   EndIF
  894.   SetEnv UseFDNum `Eval $UseFDNum+1`
  895. EndIF
  896. IF $UseFDOnPRIVATE
  897.   IF $UseFDOption EQ $UseFDNum
  898.     Echo NOLINE >>ENV:UseFDArgs " PRIVATE"
  899.     SetEnv UseFDOnPRIVATE ""
  900.   EndIF
  901.   SetEnv UseFDNum `Eval $UseFDNum+1`
  902. EndIF
  903. IF $UseFDOnSECTION
  904.   IF $UseFDOption EQ $UseFDNum
  905.     Echo NOLINE >>ENV:UseFDArgs " SECTION"
  906.     SetEnv UseFDOnSECTION ""
  907.   EndIF
  908.   SetEnv UseFDNum `Eval $UseFDNum+1`
  909. EndIF
  910. IF $UseFDOnSMALLCODE
  911.   IF $UseFDOption EQ $UseFDNum
  912.     Echo NOLINE >>ENV:UseFDArgs " SMALLCODE"
  913.     SetEnv UseFDOnSMALLCODE ""
  914.   EndIF
  915.   SetEnv UseFDNum `Eval $UseFDNum+1`
  916. EndIF
  917. IF $UseFDOnSMALLDATA
  918.   IF $UseFDOption EQ $UseFDNum
  919.     Echo NOLINE >>ENV:UseFDArgs " SMALLDATA"
  920.     SetEnv UseFDOnSMALLDATA ""
  921.   EndIF
  922.   SetEnv UseFDNum `Eval $UseFDNum+1`
  923. EndIF
  924. IF $UseFDOnSORTED
  925.   IF $UseFDOption EQ $UseFDNum
  926.     Echo NOLINE >>ENV:UseFDArgs " SORTED"
  927.     SetEnv UseFDOnSORTED ""
  928.   EndIF
  929.   SetEnv UseFDNum `Eval $UseFDNum+1`
  930. EndIF
  931. IF $UseFDOnSYSTEMRELEASE
  932.   IF $UseFDOption EQ $UseFDNum
  933.     Echo NOLINE >>ENV:UseFDArgs " SYSTEMRELEASE"
  934.     SetEnv UseFDOnSYSTEMRELEASE ""
  935.   EndIF
  936.   SetEnv UseFDNum `Eval $UseFDNum+1`
  937. EndIF
  938. IF $UseFDOnUSESYSCALL
  939.   IF $UseFDOption EQ $UseFDNum
  940.     Echo NOLINE >>ENV:UseFDArgs " USESYSCALL"
  941.     SetEnv UseFDOnUSESYSCALL ""
  942.   EndIF
  943.   SetEnv UseFDNum `Eval $UseFDNum+1`
  944. EndIF
  945. IF $UseFDOnVOIDBASE
  946.   IF $UseFDOption EQ $UseFDNum
  947.     Echo NOLINE >>ENV:UseFDArgs " VOIDBASE"
  948.     SetEnv UseFDOnVOIDBASE ""
  949.   EndIF
  950.   SetEnv UseFDNum `Eval $UseFDNum+1`
  951. EndIF
  952.  
  953. Skip ScanOpts BACK
  954.  
  955. Lab EndScanOpts
  956.  
  957. RequestChoice "Do you want to insert a header?" "Select*nHEADERFILE to enter a file or*nSCANHEADER to scan the destionation file." HEADERFILE SCANHEADER NoHeader >ENV:UseFDHeader
  958. IF $UseFDHeader EQ 1
  959.   RequestFile TITLE "Select the header file" >>ENV:UseFDHeaderFile
  960.   IF $UseFDCLIB
  961.     Echo NOLINE >>ENV:UseFDArgs "HEADER=*""
  962.     Echo NOLINE >>ENV:UseFDArgs $UseFDHeaderFile
  963.     Echo NOLINE >>ENV:UseFDArgs "*""
  964.   EndIF
  965. EndIF
  966.  
  967. IF $UseFDHeader EQ 2
  968.   Echo NOLINE >>ENV:UseFDArgs "HEADER=@"
  969. EndIF
  970.  
  971. IF $UseFDMode EQ 1
  972.   RequestChoice "Select definition mode" "1: _INCLUDE_PRAGMA_..._LIB_H [default]*n2: _PRAGMAS_..._LIB_H*n3: _PRAGMAS_..._PRAGMAS_H*n4: no definition" 1 2 3 4 >ENV:UseFDMode2
  973.   IF $UseFDMode2 EQ 1
  974.     Echo NOLINE >>ENV:UseFDArgs " MODE 1"
  975.   EndIF
  976.   IF $UseFDMode2 EQ 2
  977.     Echo NOLINE >>ENV:UseFDArgs " MODE 2"
  978.   EndIF
  979.   IF $UseFDMode2 EQ 3
  980.     Echo NOLINE >>ENV:UseFDArgs " MODE 3"
  981.   EndIF
  982.   IF $UseFDMode2 EQ 0
  983.     Echo NOLINE >>ENV:UseFDArgs " MODE 4"
  984.   EndIF
  985. EndIF
  986.  
  987. IF $UseFDMode EQ 2
  988.   RequestChoice "Select work mode" "1: all functions, normal interface*n2: only tag-functions, tagcall interface*n3: all functions, both interfaces [default]" 1 2 3 >ENV:UseFDMode2
  989.   IF $UseFDMode2 EQ 1
  990.     Echo NOLINE >>ENV:UseFDArgs " MODE 1"
  991.   EndIF
  992.   IF $UseFDMode2 EQ 2
  993.     Echo NOLINE >>ENV:UseFDArgs " MODE 2"
  994.   EndIF
  995.   IF $UseFDMode2 EQ 0
  996.     Echo NOLINE >>ENV:UseFDArgs " MODE 3"
  997.   EndIF
  998. EndIF
  999.  
  1000. RequestFile TITLE "Select the FD input file" >ENV:UseFDInFile
  1001. IF $UseFDNeedCLIB EQ 1
  1002.   RequestFile TITLE "Select the clib prototype file" >ENV:UseFDCLIB
  1003.   IF $UseFDCLIB
  1004.     Echo NOLINE >>ENV:UseFDArgs "CLIB=*""
  1005.     Echo NOLINE >>ENV:UseFDArgs $UseFDCLIB
  1006.     Echo NOLINE >>ENV:UseFDArgs "*""
  1007.   EndIF
  1008. EndIF
  1009. RequestFile DRAWERSONLY TITLE "Select the output drawer" >ENV:UseFDOutDrawer
  1010.  
  1011. Echo NOLINE >>ENV:UseFDArgs " INFILE=*""
  1012. Echo NOLINE >>ENV:UseFDArgs $UseFDInFile
  1013. Echo NOLINE >>ENV:UseFDArgs "*""
  1014.  
  1015. IF $UseFDOutDrawer
  1016.   Echo NOLINE >>ENV:UseFDArgs " TO=*""
  1017.   Echo NOLINE >>ENV:UseFDArgs $UseFDOutDrawer
  1018.   Echo NOLINE >>ENV:UseFDArgs "*""
  1019. EndIF
  1020.  
  1021. Echo NOLINE >>ENV:UseFDArgs " SPECIAL="
  1022. Echo NOLINE >>ENV:UseFDArgs $UseFDSPECIAL
  1023.  
  1024. Echo NOLINE "Executing following command:*nfd2pragma"
  1025. Type ENV:UseFDArgs
  1026. Echo "*n"
  1027.  
  1028. fd2pragma `Type ENV:UseFDArgs`
  1029.  
  1030. Lab CleanUp
  1031. Delete >NIL: ENV:UseFD#?
  1032. Echo "All Done. You can close this window now."
  1033.